0 > dev /chaos/control  ok
0 > hex 0 value value_620_0 " /bandit/gc/via-cuda" open-dev to value_620_0 5 constant mac_rom_constant_4F5_5  ok
0 > 6 constant mac_rom_constant_4F4_6 7 constant mac_rom_constant_4F3_7 10 constant mac_rom_constant_501_10  ok
0 > ff constant mac_rom_constant_4F9_FF 40 constant const_57c_40 1000 constant const_585_1000  ok
0 > : colon_definition_function_5f6_3+ 3 + ; : colon_string_5be_reg " reg" ; : colon_string_5a7_read " read" ;  ok
0 > : colon_string_5a8_write " write" ; : colon_string_5bf_assigned-addresses " assigned-addresses" ;  ok
0 > : colon_string_5e3_iso6429-1983-colors " iso6429-1983-colors" ; -1 value value_cd6_-1_regs -1 value value_cd7_-1  ok
0 > 0 value value_cd8_0 0 value value_cd9_0 0f301b000 constant const_cda_0f301b000_RADACAL-base 0  ok
1 > mac_rom_constant_501_10 field field_cdb_>C.CUR-LINE mac_rom_constant_501_10 field field_cdc_>C.VFPEQ  ok
1 > mac_rom_constant_501_10 field field_cdd_>C.VFP mac_rom_constant_501_10 field field_cde_>C.VAL  ok
1 > mac_rom_constant_501_10 field field_cdf_>C.VBP mac_rom_constant_501_10 field field_ce0_>C.VBPEQ  ok
1 > mac_rom_constant_501_10 field field_ce1_>C.VSYNC mac_rom_constant_501_10 field field_ce2_>C.VHLINE  ok
1 > mac_rom_constant_501_10 field field_ce3_>C.PIPED mac_rom_constant_501_10 field field_ce4_>C.HPIX  ok
1 > mac_rom_constant_501_10 field field_ce5_>C.HFP mac_rom_constant_501_10 field field_ce6_>C.HAL  ok
1 > mac_rom_constant_501_10 field field_ce7_>C.HBWAY mac_rom_constant_501_10 field field_ce8_>C.HSP  ok
1 > mac_rom_constant_501_10 field field_ce9_>C.HEQ mac_rom_constant_501_10 field field_cea_>C.HLFLN_>C.HLFLN  ok
1 > mac_rom_constant_501_10 field field_ceb_>C.HSERR mac_rom_constant_501_10 field field_cec_>C.CNTTST  ok
1 > mac_rom_constant_501_10 field field_ced_>C.TEST mac_rom_constant_501_10 field field_cee_>C.GBASE  ok
1 > mac_rom_constant_501_10 field field_cef_>C.ROW-WORDS mac_rom_constant_501_10 field field_cf0_>C.MON-SENSE  ok
1 > mac_rom_constant_501_10 field field_cf1_>C.ENABLE mac_rom_constant_501_10 field field_cf2_>C.GSC-DIVIDE  ok
1 > mac_rom_constant_501_10 field field_cf3_>C.REFRESH-COUNT mac_rom_constant_501_10 field field_cf4_>C.INT-ENABLE  ok
1 > mac_rom_constant_501_10 field field_cf5_>C.INT-STATUS drop 0 mac_rom_constant_501_10 field field_cf6_>R.REG-ADDR  ok
1 > mac_rom_constant_501_10 field field_cf7_>R.CRSR-PALETTE mac_rom_constant_501_10 field field_cf8_>R.REG-DATA  ok
1 > mac_rom_constant_501_10 field field_cf9_>R.COLOR-PALETTE drop create create_word_function_cfa  ok
0 > " "(0000 00AA 0000 00AA 00AA 5500 0000 AAAA 00AA 00AA AAAA AAAA)" $c,  ok
0 > " "(AAAA AAFF 0000 00FF 00FF FF00 0000 FFFF 00FF 00FF FFFF FFFF)" $c, create create_word_function_cfb 0e1b0210 , 415 w, 412 w,  ok
0 > 52 w, 2b w, 4 w, 418 w, 41a w, 48 w, 1ae w, 189 w, 49 w, 1f w, 1af w, 10 w, 0d8 w, 190 w, 2 w, 280 w, 1e0 w,  ok
0 > create create_word_function_cfc 17250210 , 40d w, 402 w, 42 w, 22 w, 2 w, 418 w, 41a w, 48 w, 18e w, 181 w, 41 w, 2f w, 18f w,  ok
0 > 18 w, 0c8 w, 160 w, 2 w, 280 w, 1e0 w, create create_word_function_cfd 2b , create_word_function_cfb , 17 ,  ok
0 > create_word_function_cfc , here 40 , create_word_function_cfb , constant const_cfe : colon_definition_function_cff_SENSE!  ok
0 ] value_cd6_-1_regs field_cf0_>C.MON-SENSE rl! 1 ms ; : colon_definition_function_d00_SENSE@  ok
0 ] value_cd6_-1_regs field_cf0_>C.MON-SENSE rl@ ; : colon_definition_function_d01_MON-SENSE  ok
0 ] 38 colon_definition_function_cff_SENSE!  ok
0 ] colon_definition_function_d00_SENSE@ mac_rom_constant_4F4_6 >> mac_rom_constant_4F3_7 and dup mac_rom_constant_4F4_6 < if 40 or  ok
1 ] else drop 18 colon_definition_function_cff_SENSE! colon_definition_function_d00_SENSE@ 2 >> 30 and  ok
1 ] 28 colon_definition_function_cff_SENSE!  ok
1 ] colon_definition_function_d00_SENSE@ dup 4 >> 4 and swap mac_rom_constant_4F5_5 >> 8 and or or  ok
1 ] 30 colon_definition_function_cff_SENSE! colon_definition_function_d00_SENSE@ mac_rom_constant_4F3_7 >> 3 and or then  ok
0 ] 38 colon_definition_function_cff_SENSE! ; : colon_definition_function_d02 dup 2+ swap w@ ; : colon_definition_function_d03  ok
0 ] const_cda_0f301b000_RADACAL-base field_cf9_>R.COLOR-PALETTE rb@ ; : colon_definition_function_d04  ok
0 ] const_cda_0f301b000_RADACAL-base field_cf9_>R.COLOR-PALETTE rb! ; : colon_definition_function_d05  ok
0 ] const_cda_0f301b000_RADACAL-base field_cf6_>R.REG-ADDR rb! ; : colon_definition_function_d06 const_cda_0f301b000_RADACAL-base  ok
0 ] field_cf8_>R.REG-DATA rb@ ; : colon_definition_function_d07 const_cda_0f301b000_RADACAL-base field_cf8_>R.REG-DATA rb! ;  ok
0 > : colon_definition_function_d08 colon_definition_function_d05 colon_definition_function_d06 ; : colon_definition_function_d09  ok
0 ] colon_definition_function_d05 colon_definition_function_d07 ; : colon_definition_function_d0a 0 colon_definition_function_d05  ok
0 ] 300 0 do create_word_function_cfa i 30 mod + c@ colon_definition_function_d04 loop ; : colon_definition_function_d0b 20  ok
0 ] colon_definition_function_d09 1 21 colon_definition_function_d09 0 10 colon_definition_function_d09 0 11  ok
0 ] colon_definition_function_d09 ; 8 buffer: buffer_d0c_8_athens-data " "(0122 50FF FF)" buffer_d0c_8_athens-data swap move  ok
0 > 8 buffer: buffer_d0d_8_athens-rsp : colon_definition_function_d0e_write-IIC buffer_d0c_8_athens-data mac_rom_constant_4F5_5  ok
0 ] colon_string_5a8_write value_620_0 $call-method drop buffer_d0d_8_athens-rsp 3 colon_string_5a7_read value_620_0 $call-method  ok
0 ] drop ; : colon_definition_function_d0f_init-ATHENS 4 1 do  ok
2 ] i buffer_d0c_8_athens-data colon_definition_function_5f6_3+ c! buffer_d0c_8_athens-data 4+ c!  ok
2 ] colon_definition_function_d0e_write-IIC loop ; : colon_definition_function_d10_delay 8 0 do  ok
2 ] value_cd6_-1_regs field_ced_>C.TEST rl@ drop loop ; : colon_definition_function_d11_ping-CONTROL cr ." [ ping-CONTROL ! " .s  ok
0 ] value_cd6_-1_regs field_ced_>C.TEST rl! colon_definition_function_d10_delay 4 0 do i 1 and 3 << 8 0 do  ok
4 ] value_cd6_-1_regs field_ced_>C.TEST rl@ ." @ " .s 8 invert and over or ." ! " .s value_cd6_-1_regs field_ced_>C.TEST rl! loop  ok
2 ] drop loop colon_definition_function_d10_delay ." ] ping-CONTROL " .s ; : colon_definition_function_d12_reset-CONTROL  ok
0 ] 433 colon_definition_function_d11_ping-CONTROL 1 value_cd6_-1_regs field_cf2_>C.GSC-DIVIDE rl! ;  ok
0 > : colon_definition_function_d13_enable-CONTROL 33 colon_definition_function_d11_ping-CONTROL ; : colon_definition_function_d14  ok
0 ] dup @ lbsplit colon_definition_function_d0f_init-ATHENS colon_definition_function_d0b cell+ mac_rom_constant_501_10 0 do  ok
2 ] colon_definition_function_d02 value_cd6_-1_regs field_cdc_>C.VFPEQ i 4 << + rl! loop colon_definition_function_d02  ok
0 ] value_cd6_-1_regs field_cf2_>C.GSC-DIVIDE rl! colon_definition_function_d02 dup to value_cd8_0  ok
0 ] value_cd6_-1_regs field_cef_>C.ROW-WORDS rl! w@ to value_cd9_0 31 little? 2 and or value_cd6_-1_regs field_cf1_>C.ENABLE rl!  ok
0 ] 0 value_cd6_-1_regs field_cee_>C.GBASE rl! 1e5 value_cd6_-1_regs field_cf3_>C.REFRESH-COUNT rl!  ok
0 ] 0 value_cd6_-1_regs field_cf4_>C.INT-ENABLE rl! ; : colon_definition_function_d15_is-install  ok
0 ] colon_string_5bf_assigned-addresses get-my-property if ." no REG property" abort then begin dup 0> while decode-int  ok
2 ] mac_rom_constant_4F9_FF and >r decode-int drop decode-int >r 8 - swap 8 + swap r> r> case 14 of to value_cd6_-1_regs endof 18  ok
4 ] of 800000 + to value_cd7_-1 endof swap drop endcase repeat 2drop value_cd6_-1_regs dup const_585_1000 _i_g do-map  ok
0 ] colon_definition_function_d12_reset-CONTROL colon_definition_function_d01_MON-SENSE dup const_cfe ! create_word_function_cfd  ok
0 ] begin 2dup @ <> while 8 + repeat nip 4+ @ colon_definition_function_d14 colon_definition_function_d0a  ok
0 ] colon_definition_function_d13_enable-CONTROL value_cd7_-1 dup value_cd8_0 value_cd9_0 * const_57c_40 do-map default-font  ok
0 ] set-font value_cd8_0 value_cd9_0 over 14 - char-width / over 14 - char-height / fb8-install value_cd8_0 #columns char-width * -  ok
0 ] 2/ to window-left value_cd9_0 #lines char-height * - 2/ to window-top value_cd7_-1 to frame-buffer-adr ;  ok
0 > : colon_definition_function_d16_is-remove value_cd7_-1 value_cd9_0 value_cd8_0 * do-unmap value_cd6_-1_regs const_585_1000  ok
0 ] do-unmap ; : color@ colon_definition_function_d05 colon_definition_function_d03 colon_definition_function_d03  ok
0 ] colon_definition_function_d03 ; : color! colon_definition_function_d05 rot colon_definition_function_d04 swap  ok
0 ] colon_definition_function_d04 colon_definition_function_d04 ; : set-colors swap colon_definition_function_d05 3 * 0 ?do dup i +  ok
2 ] c@ colon_definition_function_d04 loop drop ; : get-colors swap colon_definition_function_d05 3 * 0 ?do  ok
2 ] colon_definition_function_d03 over i + c! loop drop ; : draw-rectangle { local_0 local_1 local_2 local_3 local_4 ; local_5 }  ok
0 ] local_1 value_cd8_0 * local_2 + value_cd7_-1 + -> local_5 local_0 local_4 0 ?do local_5 local_3 0 ?do over c@ over c! 1 1 d+  ok
4 ] loop drop local_5 value_cd8_0 + -> local_5 loop drop ; : fill-rectangle { local_0 local_1 local_2 local_3 local_4 ; local_5 }  ok
0 ] local_1 value_cd8_0 * local_2 + value_cd7_-1 + -> local_5 local_4 0 ?do local_5 local_3 0 ?do local_0 over c! 1+ loop drop  ok
2 ] local_5 value_cd8_0 + -> local_5 loop drop ; : read-rectangle { local_0 local_1 local_2 local_3 local_4 ; local_5 } local_1  ok
0 ] value_cd8_0 * local_2 + value_cd7_-1 + -> local_5 local_0 local_4 0 ?do local_5 swap local_3 0 ?do over c@ over c! 1 1 d+ loop  ok
2 ] nip local_5 value_cd8_0 + -> local_5 loop drop ; ['] colon_definition_function_d15_is-install is-install  ok
0 > ['] colon_definition_function_d16_is-remove is-remove  ok
0 > " /chaos/control" open-dev 
[ ping-CONTROL ! 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 8 433 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 0 43B 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 0 433 
! 0 433 
@ 8 433 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
@ 8 43B 
! 8 43B 
] ping-CONTROL Empty

[ ping-CONTROL ! 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 8 33 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 0 3B 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 0 33 
! 0 33 
@ 8 33 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
@ 8 3B 
! 8 3B 
] ping-CONTROL Empty
 ok
1 > 